package com.grad.webstudy.service;

import com.github.pagehelper.PageInfo;
import com.grad.webstudy.model.Role;
import com.grad.webstudy.vo.RoleVo;

import java.util.List;

/**
 * @Author: zjf
 * @Date: 2020/1/18 15:31
 * @Description:
 */
public interface RoleService {


    /**
     * 查看角色ids是否存在
     *
     * @param roleIds
     * @return
     */
    boolean checkRoleIds(List<Integer> roleIds);

    /**
     * 根据角色id集合获取角色名称
     *
     * @param roleId
     * @return
     */
    List<String> getRoleNameByIds(List<Integer> roleId);


    /**
     * 新增角色
     * @param roleName
     * @param authIds
     * @param roleDesc
     * @return
     */
    boolean addRole(String roleName,String roleDesc,String authIds);

    /**
     * 根据ids删除角色，以,分隔
     * @param ids
     * @return
     */
    boolean deleteRoles(String ids);

    /**
     * 更新角色
     * @param id
     * @param roleName
     * @param roleDesc
     * @return
     */
    boolean updateRole(Integer id,String roleName,String roleDesc);


    /**
     * 分页查询角色信息
     * @param currPage
     * @param pageSize
     * @param keyword
     * @return
     */
    PageInfo queryRolesByPage(int currPage,int pageSize, String keyword);

    /**
     * 查询全部角色信息
     * @return
     */
    List<Role> queryAllRoles();

    /**
     * 更改角色权限
     * @param roleId 更改角色的id
     * @param authIds 要更改的权限ids集合
     * @return
     */
    boolean changeRoleAuth(int roleId,String authIds);


    /**
     * 根据角色id查询角色权限,返回权限id的集合
     * @param roleId
     */
    RoleVo queryRoleAuth(Integer roleId);
}
